Business Intelligence (BI) generally refers to software tools used to improve business enterprise decision-making. These tools are commonly applied to financial, human resource, marketing, sales, customer and supplier analyses. More specifically, these tools can include: reporting and analysis tools to present information; content delivery infrastructure systems for delivery and management of reports and analytics; data warehousing systems for cleansing and consolidating information from disparate sources; and data management systems, such as relational databases or On Line Analytic Processing (OLAP) systems used to collect, store, and manage raw data.
A subset of business intelligence tools are report generation tools. There are a number of commercially available products to produce reports from stored data. For instance, Business Objects Americas of San Jose, Calif., sells a number of widely used report generation products, including Crystal Reports™, Business Objects OLAP Intelligence™, Business Objects Web Intelligence™, and Business Objects Enterprise™. As used herein, the term report refers to information automatically retrieved (i.e., in response to computer executable instructions) from a data source (e.g., a database, a data warehouse, a plurality of reports, and the like), where the information is structured in accordance with a report schema that specifies the form in which the information should be presented. A non-report is an electronic document that is constructed without the automatic retrieval of information from a data source. Examples of non-report electronic documents include typical business application documents, such as a word processor document, a presentation document, and the like.
A report document specifies how to access data and format it. A report document where the content does not include external data, either saved within the report or accessed live, is a template document for a report rather than a report document. Unlike other non-report documents that may optionally import external data within a document, a report document by design is primarily a medium for accessing and formatting, transforming or presenting external data.
A report is specifically designed to facilitate working with external data sources. In addition to information regarding external data source connection drivers, the report may specify advanced filtering of data, information for combining data from different external data sources, information for updating join structures and relationships in report data, and logic to support a more complex internal data model (that may include additional constraints, relationships, and metadata).
In contrast to a spreadsheet, a report is generally not limited to a table structure but can support a range of structures, such as sections, cross-tables, synchronized tables, sub-reports, hybrid charts, and the like. A report is designed primarily to support imported external data, whereas a spreadsheet equally facilitates manually entered data and imported data. In both cases, a spreadsheet applies a spatial logic that is based on the table cell layout within the spreadsheet in order to interpret data and perform calculations on the data. In contrast, a report is not limited to logic that is based on the display of the data, but rather can interpret the data and perform calculations based on the original (or a redefined) data structure and meaning of the imported data. The report may also interpret the data and perform calculations based on pre-existing relationships between elements of imported data. Spreadsheets generally work within a looping calculation model, whereas a report may support a range of calculation models. Although there may be an overlap in the function of a spreadsheet document and a report document, these documents express different assumptions concerning the existence of an external data source and different logical approaches to interpreting and manipulating imported data.
Another business intelligence tool is an analytic. An analytic is a tool for a specific data analysis activity. An analytic application is software designed for a specific data analysis need. Analytic applications are often sold as turn key solutions. One reason for this is that the data to be analyzed needs to conform to a specific schema. That is, each analytic in an analytic application has an underlying table for a particular schema. Analytic applications are often targeted toward a specific industry, or activity, e.g., BusinessObjects Supply Chain Intelligence™ is an analytic application for analyzing supply chains.
Producers of report generation tools, and third parties, may act as report vendors to a BI customer. Report vendors offer report templates to create reports for customers. A report template is combined with data to create a report. Reports can answer questions the customer may have about their organization. Information obtained from reports leads to improved performance. An example is improved financial performance, e.g., through increasing sales or decreasing costs. However, due to the complexity of how the report templates are priced and implementation costs, it is difficult for customers to determine which subset of report templates to purchase or implement. Even the seemingly simple task of determining which reports in a suite would best answer the particular business questions customers have may prove difficult when additional business constraints are involved.
A vendor and a customer deciding on which set of reports meet the customer's needs encounter various problems. One problem is where a customer has a set of previously purchased and unimplemented report templates and determines, independent of the vendor, which reports to implement. Another problem is where the person seeking the optimal subset of reports is not the customer but is the vendor. These problems can be generally regarded as one of a vendor and customer deciding on which set of reports meets the customer's needs
A customer may ask a series of questions in order to determine which reports best suit specified needs. A customer may ask one of the following questions. Would adding Report A or Report B to the deployment increase return on investment? If Report C were replaced by Report D, would total return increase? What would be the optimal sub set of reports if the budget is cut, or spread out over two quarters? Which report should be retained?
The task of analyzing which report templates best meet customers' needs becomes even more difficult when there are inter-report template dependencies and synergies, diminished returns given existing reports, business constraints, etc. While evaluating the value and suitability of a single report template independent from all other report templates may seem like a manageable task, taking the entire suite of report templates into consideration when deciding on a subset of report templates to deploy is believed to be a complex task.
In view of the foregoing, it would be desirable to provide for a new a method and apparatus for determining which reports best suit the needs of a report user. In particular, it would be desirable to provide a method and an apparatus for selecting a subset of report templates from a plurality of report templates based on a set of criteria.